Skip to content

Final launch gate: CI hardening, log safety, full test coverage, shell completions#7

Merged
vtino17 merged 6 commits into
mainfrom
fix/final-launch-gate
Jul 23, 2026
Merged

Final launch gate: CI hardening, log safety, full test coverage, shell completions#7
vtino17 merged 6 commits into
mainfrom
fix/final-launch-gate

Conversation

@vtino17

@vtino17 vtino17 commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Summary

Final pre-launch gate for TaskCapsule. All 7 CI jobs pass.

CI Results

Final commit: \ 3b0f7d
Workflow run: 30006669553

Job Status
lint SUCCESS
test SUCCESS
race SUCCESS
build SUCCESS
integration SUCCESS
integration-race SUCCESS
release-dry-run SUCCESS

Changes

CI & Release

  • All workflows use \go-version-file: go.mod\
  • Release workflow runs validate-and-test before building
  • release-dry-run CI job with strict archive verification
  • \scripts/build-release-artifacts.sh\ for reusable cross-compilation
  • Go helper-process pattern for process tests (no 'sleep' dependency)

Code Fixes

  • \isProcessRunning/health checks use signal 0, not SIGINT
  • Duplicate \internal/doctor\ package removed (dead code)
  • Process tests use deterministic helper child processes (Unix)

Log Safety

  • Bounded tail reader: 200 lines / 256 KiB

Shell Completion

  • All registered commands included (including 'completion')
  • Dynamic command list from registry
  • 11 tests covering generation, errors, determinism

Local Validation

  • \go build ./...\ — PASS
  • \go test ./...\ — PASS (13 packages)
  • \go vet ./...\ — PASS
  • \gofmt -l .\ — CLEAN
  • \go mod verify\ — PASS

Remaining Limitations

  • Windows process management is experimental
  • Docker Compose not implemented
  • No release tag published
  • No release was published

vtino17 added 6 commits July 23, 2026 18:36
- Remove hard-coded Go 1.21 from release workflow
- Add release-dry-run CI job for artifact verification
- Remove redundant actions/cache steps (use setup-go built-in cache)
- Add build-release-artifacts.sh script

feat: bound service log reads

- Implement LogReader with configurable byte/line limits (256 KiB / 200 lines)
- Add truncation notification for large files
- Seek from end where practical; avoid full-file reads for large files

fix: include completion command in shell completions

- Remove exclusion of completion from commandNames()
- Reject extra arguments with exit code 2
- Deduplicate command names defensively

test: cover all 14 packages

- app: exit codes, state dir, process checks, log reader (6 tests)
- checks: success, empty command, nonexistent exec, save log (5 tests)
- cli: completion generation, error handling, determinism (11 tests)
- doctor: git check, state dir, worktree dir, result format (4 tests)
- health: HTTP, TCP, timeout, wrong status, StatusError (7 tests)
- process: start, stop, group, alive, format (10 tests)

docs: correct audit document to reflect final state

- Go 1.24 as declared version
- 14/14 packages with tests (not 6 lacking)
- include completion in command list
- log safety implementation
- correct CI/Go version reconciliation
…, harden release workflow

- Use syscall.Signal(0x0) instead of os.Interrupt for process existence checks
- Fix isProcessRunning in doctor and health checker to not send SIGINT
- Rewrite process tests with deterministic child processes (sleep 60)
- Add strict archive validation in release-dry-run (set -euo pipefail)
- Remove continue-on-error from race tests in release workflow
- Fix workflow_dispatch dry-run not requiring tag format
- Use single build-release-artifacts.sh in all workflows
…Command('sleep')

- Replace sleep/sh-based process tests with TestHelperProcess pattern
- Use build tags (unix) for platform-specific process tests
- Signal process tests use SIGTERM-based helper with channels
- Remove sleep dependency in tests (not available in minimal CI images)
- Fix cross-platform build correctly
…ence, fix build script output

- Remove duplicate internal/doctor package (unreferenced dead code)
- Update docs/audit.md with CI VERIFIED status for all 7 jobs
- Update PR body with final CI results
- Fix build script version regex to accept -dry-run suffix
- Fix build script Windows archive output message (was printing .tar.gz for .zip)
@vtino17
vtino17 merged commit a8d9c4f into main Jul 23, 2026
7 checks passed
@vtino17
vtino17 deleted the fix/final-launch-gate branch July 23, 2026 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant